// 六、交叉类型
// TypeScript 交叉类型是将多个类型合并为一个类型。 这让我们可以把现有的多种类型叠加到一起成为一种类型，它包含了所需的所有类型的特性。

 ​
 interface IPerson {
   id: string;
   age: number;
 }
 ​
 interface IWorker {
   companyId: string;
 }
 ​
 type IStaff = IPerson & IWorker;
 ​
 const staff: IStaff = {
   id: 'E1006',
   age: 33,
   companyId: 'EFT',
 };
 
 console.dir(staff)

// 在上面示例中，我们首先为 IPerson 和 IWorker 类型定义了不同的成员，然后通过 & 运算符定义了 IStaff 交叉类型，所以该类型同时拥有 IPerson 和 IWorker 这两种类型的成员。